
`ifndef INC_SOC_DEF_SV
`define INC_SOC_DEF_SV

`include "apb4_if.sv"
`include "axi4_if.sv"

`include "uart_define.sv"
`include "gpio_define.sv"
`include "pwm_define.sv"
`include "tmr_define.sv"
`include "i2c_define.sv"
`include "spi_define.sv"
`include "vgalcd_define.sv"
`include "ps2_define.sv"
`include "rcu_define.sv"

`define SOCDF_GPIO_IN_EN 1'b1

`define SOCDF_CPLINK_DATA_WIDTH 8
//APB
`define SOCDF_P_ADDR_W 32
`define SOCDF_P_DATA_W 32 
`define SOCDF_P_STRB_W `SOCDF_P_DATA_W/8
`define SOCDF_P_PROT_W 3
//AXI
`define SOCDF_A_ID_W    4
`define SOCDF_A_ADDR_W  32
`define SOCDF_A_DATA_W  64
`define SOCDF_A_STRB_W  `A_DATA_W/8
`define SOCDF_A_SIZE_W  3
`define SOCDF_A_BURST_W 2
`define SOCDF_A_LEN_W   8
`define SOCDF_A_RESP_W  2
`define SOCDF_A_QOS_W   4
`define SOCDF_A_CACHE_W 4
`define SOCDF_A_LOCK_W  1
`define SOCDF_A_PROT_W  3
`define SOCDF_A_USER_W  1
`define SOCDF_A_LAST_W  1
//SPI
`define SOCDF_SPI_FLASH_START  32'h3000_0000
`define SOCDF_SPI_FLASH_END    32'h3FFF_FFFF
//UART
`define SOCDF_UART_START       32'h1000_0000
`define SOCDF_UART_END         32'h1000_0FFF

`endif